package com.example.site.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
//这段代码是一个使用Spring框架编写的Java配置类，被注释为@Configuration。它使用了Mybatis-Plus插件，并配置了分页插件的拦截器。
// 在该类中，通过@Bean注解创建了一个名为"mybatisPlusInterceptor"的Bean对象，这个对象的类型是MybatisPlusInterceptor。
// 然后，通过调用addInnerInterceptor方法来添加一个PaginationInnerInterceptor分页拦截器，并将MySQL数据库类型作为参数传递给它。该分页插件会拦截所有Mybatis-Plus的查询请求，并自动进行分页处理。
// 最后，@MapperScan注解指示了Mybatis-Plus扫描Mapper接口的包路径，这里是"com.example.site.mapper"。这样，在其他地方需要使用Mapper接口时，就可以直接注入到对应的类中，而不需要额外配置。

@Configuration
@MapperScan("com.example.site.mapper")
public class MyBatisPlusConfig {

    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }

}
